package xyz.zhno.mall.product.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import xyz.zhno.mall.common.mpg.entity.PmsProductCategory;
import xyz.zhno.mall.product.model.dto.PmsProductCategoryNodeDTO;
import xyz.zhno.mall.product.model.param.PmsProductCategoryParam;

import java.util.List;

/**
 * 商品分类业务层接口
 * @author zh_o
 */
public interface PmsProductCategoryService extends IService<PmsProductCategory> {

    /**
     * 新增分类
     * @param param 新增分类参数对象
     * @return 新增分类ID
     */
    Long create(PmsProductCategoryParam param);

    /**
     * 修改分类
     * @param id 需要修改分类的ID
     * @param param 分类参数对象
     * @return 修改分类的ID
     */
    Long update(Long id, PmsProductCategoryParam param);

    /**
     * 以树形结构获取所有商品分类
     * @return 商品分类树形列表
     */
    List<PmsProductCategoryNodeDTO> tree();

}
